<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>aps.models.grafo</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="aps-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="aps-module.html">Package&nbsp;aps</a> ::
        <a href="aps.models-module.html">Package&nbsp;models</a> ::
        Module&nbsp;grafo
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="aps.models.grafo-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="aps.models.grafo-module.html">Module aps.models.grafo</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module aps.models.base=aps.models.base-module.html"><a title="aps.models.base" class="py-name" href="#" onclick="return doclink('link-0', 'base', 'link-0');">base</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package aps=aps-module.html"><a title="aps" class="py-name" href="#" onclick="return doclink('link-1', 'aps', 'link-1');">aps</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package aps.models=aps.models-module.html"><a title="aps.models" class="py-name" href="#" onclick="return doclink('link-2', 'models', 'link-2');">models</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable aps.models.historial.Historial.item=aps.models.historial.Historial-class.html#item,Module aps.models.item=aps.models.item-module.html,Variable aps.models.solicituditem.SolicitudItem.item=aps.models.solicituditem.SolicitudItem-class.html#item"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-3', 'item', 'link-3');">item</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="aps" class="py-name" href="#" onclick="return doclink('link-4', 'aps', 'link-1');">aps</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="aps.models" class="py-name" href="#" onclick="return doclink('link-5', 'models', 'link-2');">models</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module aps.models.fase=aps.models.fase-module.html,Variable aps.models.historial.Historial.fase=aps.models.historial.Historial-class.html#fase,Variable aps.models.item.Item.fase=aps.models.item.Item-class.html#fase,Variable aps.models.proyectofase.ProyectoFase.fase=aps.models.proyectofase.ProyectoFase-class.html#fase,Variable aps.models.solicitud.Solicitud.fase=aps.models.solicitud.Solicitud-class.html#fase,Module aps.views.fase=aps.views.fase-module.html"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-6', 'fase', 'link-6');">fase</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="aps" class="py-name" href="#" onclick="return doclink('link-7', 'aps', 'link-1');">aps</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="aps.models" class="py-name" href="#" onclick="return doclink('link-8', 'models', 'link-2');">models</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable aps.models.historial.Historial.proyecto=aps.models.historial.Historial-class.html#proyecto,Module aps.models.proyecto=aps.models.proyecto-module.html,Variable aps.models.proyectousuariorol.ProyectoUsuarioRol.proyecto=aps.models.proyectousuariorol.ProyectoUsuarioRol-class.html#proyecto"><a title="aps.models.historial.Historial.proyecto
aps.models.proyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.proyecto" class="py-name" href="#" onclick="return doclink('link-9', 'proyecto', 'link-9');">proyecto</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="aps" class="py-name" href="#" onclick="return doclink('link-10', 'aps', 'link-1');">aps</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="aps.models" class="py-name" href="#" onclick="return doclink('link-11', 'models', 'link-2');">models</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Module aps.models.lineabase=aps.models.lineabase-module.html"><a title="aps.models.lineabase" class="py-name" href="#" onclick="return doclink('link-12', 'lineabase', 'link-12');">lineabase</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
<a name="Grafo"></a><div id="Grafo-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="Grafo-toggle" onclick="return toggle('Grafo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html">Grafo</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Grafo-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    Clase que maneja el grafo del proyecto</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">    <tt id="link-13" class="py-name" targets="Variable aps.models.grafo.Grafo.idproyecto=aps.models.grafo.Grafo-class.html#idproyecto,Variable aps.models.historial.Historial.idproyecto=aps.models.historial.Historial-class.html#idproyecto,Variable aps.models.proyectofase.ProyectoFase.idproyecto=aps.models.proyectofase.ProyectoFase-class.html#idproyecto,Variable aps.models.proyectorol.ProyectoRol.idproyecto=aps.models.proyectorol.ProyectoRol-class.html#idproyecto,Variable aps.models.proyectousuario.ProyectoUsuario.idproyecto=aps.models.proyectousuario.ProyectoUsuario-class.html#idproyecto,Variable aps.models.proyectousuariorol.ProyectoUsuarioRol.idproyecto=aps.models.proyectousuariorol.ProyectoUsuarioRol-class.html#idproyecto"><a title="aps.models.grafo.Grafo.idproyecto
aps.models.historial.Historial.idproyecto
aps.models.proyectofase.ProyectoFase.idproyecto
aps.models.proyectorol.ProyectoRol.idproyecto
aps.models.proyectousuario.ProyectoUsuario.idproyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.idproyecto" class="py-name" href="#" onclick="return doclink('link-13', 'idproyecto', 'link-13');">idproyecto</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">    <tt id="link-14" class="py-name" targets="Variable aps.models.grafo.Grafo.nodos=aps.models.grafo.Grafo-class.html#nodos"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-14', 'nodos', 'link-14');">nodos</a></tt>      <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">     </tt>
<a name="Grafo.__init__"></a><div id="Grafo.__init__-def"><a name="L14"></a><tt class="py-lineno"> 14</tt> <a class="py-toggle" href="#" id="Grafo.__init__-toggle" onclick="return toggle('Grafo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">idproyecto</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.__init__-expanded"><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo de instancia constructor que inicializa los parametros del objeto grafo</tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Grafo</tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso grafo.</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">        @type idproyecto: Integer</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">        @param idproyecto: identificador del proyecto que requiere una construccion del grafo.</tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="aps.models.grafo.Grafo.idproyecto
aps.models.historial.Historial.idproyecto
aps.models.proyectofase.ProyectoFase.idproyecto
aps.models.proyectorol.ProyectoRol.idproyecto
aps.models.proyectousuario.ProyectoUsuario.idproyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.idproyecto" class="py-name" href="#" onclick="return doclink('link-15', 'idproyecto', 'link-13');">idproyecto</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="aps.models.grafo.Grafo.idproyecto
aps.models.historial.Historial.idproyecto
aps.models.proyectofase.ProyectoFase.idproyecto
aps.models.proyectorol.ProyectoRol.idproyecto
aps.models.proyectousuario.ProyectoUsuario.idproyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.idproyecto" class="py-name" href="#" onclick="return doclink('link-16', 'idproyecto', 'link-13');">idproyecto</a></tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt id="link-17" class="py-name"><a title="aps.models.historial.Historial.proyecto
aps.models.proyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.proyecto" class="py-name" href="#" onclick="return doclink('link-17', 'proyecto', 'link-9');">proyecto</a></tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name" targets="Variable aps.bdsession=aps-module.html#bdsession,Variable aps.models.atributo.bdsession=aps.models.atributo-module.html#bdsession,Variable aps.models.base.bdsession=aps.models.base-module.html#bdsession,Variable aps.models.bdsession=aps.models-module.html#bdsession,Variable aps.models.fase.bdsession=aps.models.fase-module.html#bdsession,Variable aps.models.faserol.bdsession=aps.models.faserol-module.html#bdsession,Variable aps.models.fasetipoitem.bdsession=aps.models.fasetipoitem-module.html#bdsession,Variable aps.models.grafo.bdsession=aps.models.grafo-module.html#bdsession,Variable aps.models.historial.bdsession=aps.models.historial-module.html#bdsession,Variable aps.models.item.bdsession=aps.models.item-module.html#bdsession,Variable aps.models.itematributovalor.bdsession=aps.models.itematributovalor-module.html#bdsession,Variable aps.models.itemversion.bdsession=aps.models.itemversion-module.html#bdsession,Variable aps.models.lineabase.bdsession=aps.models.lineabase-module.html#bdsession,Variable aps.models.permiso.bdsession=aps.models.permiso-module.html#bdsession,Variable aps.models.proyecto.bdsession=aps.models.proyecto-module.html#bdsession,Variable aps.models.proyectofase.bdsession=aps.models.proyectofase-module.html#bdsession,Variable aps.models.proyectorol.bdsession=aps.models.proyectorol-module.html#bdsession,Variable aps.models.proyectousuario.bdsession=aps.models.proyectousuario-module.html#bdsession,Variable aps.models.proyectousuariorol.bdsession=aps.models.proyectousuariorol-module.html#bdsession,Variable aps.models.relacion.bdsession=aps.models.relacion-module.html#bdsession,Variable aps.models.rol.bdsession=aps.models.rol-module.html#bdsession,Variable aps.models.rolpermiso.bdsession=aps.models.rolpermiso-module.html#bdsession,Variable aps.models.solicitud.bdsession=aps.models.solicitud-module.html#bdsession,Variable aps.models.solicituditem.bdsession=aps.models.solicituditem-module.html#bdsession,Variable aps.models.tipoitem.bdsession=aps.models.tipoitem-module.html#bdsession,Variable aps.models.tipoitematributo.bdsession=aps.models.tipoitematributo-module.html#bdsession,Variable aps.models.uploadedfile.bdsession=aps.models.uploadedfile-module.html#bdsession,Variable aps.models.usuario.bdsession=aps.models.usuario-module.html#bdsession,Variable aps.models.voto.bdsession=aps.models.voto-module.html#bdsession,Variable aps.views.atributo'.bdsession=aps.views.atributo%27-module.html#bdsession,Variable aps.views.bdsession=aps.views-module.html#bdsession,Variable aps.views.fase.bdsession=aps.views.fase-module.html#bdsession,Variable aps.views.historial'.bdsession=aps.views.historial%27-module.html#bdsession,Variable aps.views.item'.bdsession=aps.views.item%27-module.html#bdsession,Variable aps.views.lineabase'.bdsession=aps.views.lineabase%27-module.html#bdsession,Variable aps.views.login'.bdsession=aps.views.login%27-module.html#bdsession,Variable aps.views.main.bdsession=aps.views.main-module.html#bdsession,Variable aps.views.permiso'.bdsession=aps.views.permiso%27-module.html#bdsession,Variable aps.views.proyecto'.bdsession=aps.views.proyecto%27-module.html#bdsession,Variable aps.views.relacion'.bdsession=aps.views.relacion%27-module.html#bdsession,Variable aps.views.rol'.bdsession=aps.views.rol%27-module.html#bdsession,Variable aps.views.solicitudcambio.bdsession=aps.views.solicitudcambio-module.html#bdsession,Variable aps.views.tipoitem.bdsession=aps.views.tipoitem-module.html#bdsession,Variable aps.views.usuario'.bdsession=aps.views.usuario%27-module.html#bdsession"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-18', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name" targets="Class aps.models.proyecto.Proyecto=aps.models.proyecto.Proyecto-class.html"><a title="aps.models.proyecto.Proyecto" class="py-name" href="#" onclick="return doclink('link-19', 'Proyecto', 'link-19');">Proyecto</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name" targets="Variable aps.models.atributo.Atributo.id=aps.models.atributo.Atributo-class.html#id,Variable aps.models.fase.Fase.id=aps.models.fase.Fase-class.html#id,Variable aps.models.item.Item.id=aps.models.item.Item-class.html#id,Variable aps.models.itemversion.ItemVersion.id=aps.models.itemversion.ItemVersion-class.html#id,Variable aps.models.lineabase.Lineabase.id=aps.models.lineabase.Lineabase-class.html#id,Variable aps.models.permiso.Permiso.id=aps.models.permiso.Permiso-class.html#id,Variable aps.models.proyecto.Proyecto.id=aps.models.proyecto.Proyecto-class.html#id,Variable aps.models.rol.Rol.id=aps.models.rol.Rol-class.html#id,Variable aps.models.solicitud.Solicitud.id=aps.models.solicitud.Solicitud-class.html#id,Variable aps.models.tipoitem.Tipoitem.id=aps.models.tipoitem.Tipoitem-class.html#id,Variable aps.models.usuario.Usuario.id=aps.models.usuario.Usuario-class.html#id"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-20', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-21" class="py-name"><a title="aps.models.grafo.Grafo.idproyecto
aps.models.historial.Historial.idproyecto
aps.models.proyectofase.ProyectoFase.idproyecto
aps.models.proyectorol.ProyectoRol.idproyecto
aps.models.proyectousuario.ProyectoUsuario.idproyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.idproyecto" class="py-name" href="#" onclick="return doclink('link-21', 'idproyecto', 'link-13');">idproyecto</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-comment"># Procesamos las fases del proyecto</tt> </tt>
<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-22" class="py-name"><a title="aps.models.historial.Historial.proyecto
aps.models.proyecto
aps.models.proyectousuariorol.ProyectoUsuarioRol.proyecto" class="py-name" href="#" onclick="return doclink('link-22', 'proyecto', 'link-9');">proyecto</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable aps.models.proyecto.Proyecto.fases=aps.models.proyecto.Proyecto-class.html#fases"><a title="aps.models.proyecto.Proyecto.fases" class="py-name" href="#" onclick="return doclink('link-23', 'fases', 'link-23');">fases</a></tt><tt class="py-op">:</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-name">items</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-24', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name" targets="Class aps.models.item.Item=aps.models.item.Item-class.html"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-25', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name" targets="Variable aps.models.faserol.FaseRol.idfase=aps.models.faserol.FaseRol-class.html#idfase,Variable aps.models.fasetipoitem.FaseTipoitem.idfase=aps.models.fasetipoitem.FaseTipoitem-class.html#idfase,Variable aps.models.historial.Historial.idfase=aps.models.historial.Historial-class.html#idfase,Variable aps.models.item.Item.idfase=aps.models.item.Item-class.html#idfase,Variable aps.models.itemversion.ItemVersion.idfase=aps.models.itemversion.ItemVersion-class.html#idfase,Variable aps.models.lineabase.Lineabase.idfase=aps.models.lineabase.Lineabase-class.html#idfase,Variable aps.models.proyectofase.ProyectoFase.idfase=aps.models.proyectofase.ProyectoFase-class.html#idfase,Variable aps.models.solicitud.Solicitud.idfase=aps.models.solicitud.Solicitud-class.html#idfase"><a title="aps.models.faserol.FaseRol.idfase
aps.models.fasetipoitem.FaseTipoitem.idfase
aps.models.historial.Historial.idfase
aps.models.item.Item.idfase
aps.models.itemversion.ItemVersion.idfase
aps.models.lineabase.Lineabase.idfase
aps.models.proyectofase.ProyectoFase.idfase
aps.models.solicitud.Solicitud.idfase" class="py-name" href="#" onclick="return doclink('link-26', 'idfase', 'link-26');">idfase</a></tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-27', 'fase', 'link-6');">fase</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-28', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-comment"># Procesamos los items de cada fase</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">items</tt><tt class="py-op">:</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">                <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Variable aps.models.relacion.Relacion.idorigen=aps.models.relacion.Relacion-class.html#idorigen"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-29', 'idorigen', 'link-29');">idorigen</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method aps.models.item.Item.get_antecesores()=aps.models.item.Item-class.html#get_antecesores"><a title="aps.models.item.Item.get_antecesores" class="py-name" href="#" onclick="return doclink('link-30', 'get_antecesores', 'link-30');">get_antecesores</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'validas'</tt><tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">                <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Variable aps.models.relacion.Relacion.iddestino=aps.models.relacion.Relacion-class.html#iddestino"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-31', 'iddestino', 'link-31');">iddestino</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method aps.models.item.Item.get_sucesores()=aps.models.item.Item-class.html#get_sucesores"><a title="aps.models.item.Item.get_sucesores" class="py-name" href="#" onclick="return doclink('link-32', 'get_sucesores', 'link-32');">get_sucesores</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'validas'</tt><tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">                <tt class="py-comment"># p : nodos predecesores</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">                <tt class="py-comment"># s : nodos sucesores</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-comment"># v : marca que indica si el nodo ya fue visitado</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                <tt class="py-comment"># f : id de la fase a la que pertenece</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-33', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-34', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'p'</tt><tt class="py-op">:</tt><tt class="py-name">p</tt><tt class="py-op">,</tt><tt class="py-string">'s'</tt><tt class="py-op">:</tt><tt class="py-name">s</tt><tt class="py-op">,</tt><tt class="py-string">'v'</tt><tt class="py-op">:</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-string">'f'</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="aps.models.faserol.FaseRol.idfase
aps.models.fasetipoitem.FaseTipoitem.idfase
aps.models.historial.Historial.idfase
aps.models.item.Item.idfase
aps.models.itemversion.ItemVersion.idfase
aps.models.lineabase.Lineabase.idfase
aps.models.proyectofase.ProyectoFase.idfase
aps.models.solicitud.Solicitud.idfase" class="py-name" href="#" onclick="return doclink('link-35', 'idfase', 'link-26');">idfase</a></tt><tt class="py-op">}</tt> </tt>
</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">     </tt>
<a name="Grafo.marcar"></a><div id="Grafo.marcar-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="Grafo.marcar-toggle" onclick="return toggle('Grafo.marcar');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#marcar">marcar</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">marca</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.marcar-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.marcar-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que marca todos los nodos del grafo</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Grafo</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama a este metodo.</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">        @type marca: Bool</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">        @param marca: marca que se aplica a todos los nodos, puede ser False o True.</tt> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-36', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">:</tt> </tt>
<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-37', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">marca</tt> </tt>
</div><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">     </tt>
<a name="Grafo._buscar_caminos"></a><div id="Grafo._buscar_caminos-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="Grafo._buscar_caminos-toggle" onclick="return toggle('Grafo._buscar_caminos');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#_buscar_caminos">_buscar_caminos</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">nodos</tt><tt class="py-op">,</tt><tt class="py-param">origen</tt><tt class="py-op">,</tt><tt class="py-param">destino</tt><tt class="py-op">,</tt><tt class="py-param">camino</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo._buscar_caminos-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo._buscar_caminos-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que busca todos los caminos entre un vertice de origen y otro de destino</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: grafo</tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso grafo.</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">        @type nodos: Dictionary</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">        @param nodos: lista de nodos del proyecto.</tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">        @type origen: Integer</tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">        @param origen: Nodo de origen desde donde buscar.</tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">        @type destino: Integer</tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">        @param destino: Nodo de destino hasta donde buscar.</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">        @type camino: List</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">        @param camino: Caminos encontrados</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">camino</tt> <tt class="py-op">=</tt> <tt class="py-name">camino</tt> <tt class="py-op">+</tt> <tt class="py-op">[</tt><tt class="py-name">origen</tt><tt class="py-op">]</tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">origen</tt> <tt class="py-op">==</tt> <tt class="py-name">destino</tt><tt class="py-op">:</tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">camino</tt><tt class="py-op">]</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-38" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-38', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">caminos</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt id="link-39" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-39', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">origen</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">node</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">camino</tt><tt class="py-op">:</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">new_caminos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method aps.models.grafo.Grafo._buscar_caminos()=aps.models.grafo.Grafo-class.html#_buscar_caminos"><a title="aps.models.grafo.Grafo._buscar_caminos" class="py-name" href="#" onclick="return doclink('link-40', '_buscar_caminos', 'link-40');">_buscar_caminos</a></tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-41', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">,</tt> <tt class="py-name">node</tt><tt class="py-op">,</tt> <tt class="py-name">destino</tt><tt class="py-op">,</tt> <tt class="py-name">camino</tt><tt class="py-op">)</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">new_camino</tt> <tt class="py-keyword">in</tt> <tt class="py-name">new_caminos</tt><tt class="py-op">:</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                    <tt class="py-name">caminos</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">new_camino</tt><tt class="py-op">)</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">caminos</tt> </tt>
</div><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">     </tt>
<a name="Grafo.buscar_caminos"></a><div id="Grafo.buscar_caminos-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="Grafo.buscar_caminos-toggle" onclick="return toggle('Grafo.buscar_caminos');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#buscar_caminos">buscar_caminos</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">origen</tt><tt class="py-op">,</tt><tt class="py-param">destino</tt><tt class="py-op">,</tt><tt class="py-param">camino</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.buscar_caminos-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.buscar_caminos-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que enmascara al metodo principal de busqueda de caminos</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: grafo</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso grafo.</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">        @type origen: Integer</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">        @param origen: Nodo de origen desde donde buscar.</tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">        @type destino: Integer</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        @param destino: Nodo de destino hasta donde buscar.</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        @type camino: List</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">        @param camino: Caminos encontrados</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="aps.models.grafo.Grafo._buscar_caminos" class="py-name" href="#" onclick="return doclink('link-42', '_buscar_caminos', 'link-40');">_buscar_caminos</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-43', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">,</tt><tt class="py-name">origen</tt><tt class="py-op">,</tt><tt class="py-name">destino</tt><tt class="py-op">,</tt><tt class="py-name">camino</tt><tt class="py-op">)</tt> </tt>
</div><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">     </tt>
<a name="Grafo.impacto_hacia_adelante"></a><div id="Grafo.impacto_hacia_adelante-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="Grafo.impacto_hacia_adelante-toggle" onclick="return toggle('Grafo.impacto_hacia_adelante');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#impacto_hacia_adelante">impacto_hacia_adelante</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">iditem</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.impacto_hacia_adelante-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.impacto_hacia_adelante-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-comment"># marcamos todos los nodos como no visitados</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method aps.models.grafo.Grafo.marcar()=aps.models.grafo.Grafo-class.html#marcar"><a title="aps.models.grafo.Grafo.marcar" class="py-name" href="#" onclick="return doclink('link-44', 'marcar', 'link-44');">marcar</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-comment"># suma total de las complejidades</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-comment"># creamos una cola y agregamos el item inicial</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">cola</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-45', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-46" class="py-name" targets="Variable aps.models.historial.Historial.iditem=aps.models.historial.Historial-class.html#iditem,Variable aps.models.itematributovalor.ItemAtributoValor.iditem=aps.models.itematributovalor.ItemAtributoValor-class.html#iditem,Variable aps.models.itemversion.ItemVersion.iditem=aps.models.itemversion.ItemVersion-class.html#iditem,Variable aps.models.solicituditem.SolicitudItem.iditem=aps.models.solicituditem.SolicitudItem-class.html#iditem,Variable aps.models.uploadedfile.UploadedFile.iditem=aps.models.uploadedfile.UploadedFile-class.html#iditem"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-46', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-47', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">)</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">cola</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-comment"># obtenemos un item en el camino</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt id="link-48" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-48', 'id', 'link-20');">id</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt id="link-49" class="py-name"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-49', 'item', 'link-3');">item</a></tt>  <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-50', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-51" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-51', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-name">total</tt> <tt class="py-op">+</tt> <tt id="link-52" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-52', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-53', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-54', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-55" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-55', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Variable aps.models.item.Item.complejidad=aps.models.item.Item-class.html#complejidad,Variable aps.models.itemversion.ItemVersion.complejidad=aps.models.itemversion.ItemVersion-class.html#complejidad"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-56', 'complejidad', 'link-56');">complejidad</a></tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-comment"># recorremos los sucesores del item</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-57" class="py-name"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-57', 'item', 'link-3');">item</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-58', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                    <tt class="py-comment"># si el nodo no fue visitado, se marca y se encola</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-59', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                    <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">total</tt> <tt class="py-op">-</tt> <tt id="link-60" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-60', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-61', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-62" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-62', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-63" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-63', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-64', 'complejidad', 'link-56');">complejidad</a></tt> </tt>
</div><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">     </tt>
<a name="Grafo.impacto_hacia_atras"></a><div id="Grafo.impacto_hacia_atras-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="Grafo.impacto_hacia_atras-toggle" onclick="return toggle('Grafo.impacto_hacia_atras');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#impacto_hacia_atras">impacto_hacia_atras</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">iditem</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.impacto_hacia_atras-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.impacto_hacia_atras-expanded"><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-comment"># marcamos todos los nodos como no visitados</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="aps.models.grafo.Grafo.marcar" class="py-name" href="#" onclick="return doclink('link-65', 'marcar', 'link-44');">marcar</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-comment"># suma total de las complejidades</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-comment"># creamos una cola y agregamos el item inicial</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">cola</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-66', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-67" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-67', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-68', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">)</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">cola</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-comment"># obtenemos un item en el camino</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt id="link-69" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-69', 'id', 'link-20');">id</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt id="link-70" class="py-name"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-70', 'item', 'link-3');">item</a></tt>  <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-71', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-72" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-72', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-name">total</tt> <tt class="py-op">+</tt> <tt id="link-73" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-73', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-74" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-74', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-75', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-76" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-76', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-77', 'complejidad', 'link-56');">complejidad</a></tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-comment"># recorremos los predecesores del item</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-78" class="py-name"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-78', 'item', 'link-3');">item</a></tt><tt class="py-op">[</tt><tt class="py-string">'p'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-79', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                    <tt class="py-comment"># si el nodo no fue visitado, se marca y se encola</tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-80', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                    <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">total</tt> <tt class="py-op">-</tt> <tt id="link-81" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-81', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-82" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-82', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-83', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-84" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-84', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-85', 'complejidad', 'link-56');">complejidad</a></tt> </tt>
</div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">     </tt>
<a name="Grafo.marcar_revision_sucesores"></a><div id="Grafo.marcar_revision_sucesores-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="Grafo.marcar_revision_sucesores-toggle" onclick="return toggle('Grafo.marcar_revision_sucesores');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#marcar_revision_sucesores">marcar_revision_sucesores</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">iditem</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.marcar_revision_sucesores-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.marcar_revision_sucesores-expanded"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-comment"># marcamos todos los nodos como no visitados</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="aps.models.grafo.Grafo.marcar" class="py-name" href="#" onclick="return doclink('link-86', 'marcar', 'link-44');">marcar</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-comment"># creamos una cola y agregamos el item inicial</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">cola</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-87', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-88" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-88', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-89', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">)</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">cola</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-comment"># obtenemos un item en el camino</tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt id="link-90" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-90', 'id', 'link-20');">id</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt id="link-91" class="py-name"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-91', 'item', 'link-3');">item</a></tt>  <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-92', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-93" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-93', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">it</tt> <tt class="py-op">=</tt> <tt id="link-94" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-94', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-95', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-96', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-97" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-97', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-comment"># cambiamos el estado y el idlineabase</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">it</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Variable aps.models.fase.Fase.estado=aps.models.fase.Fase-class.html#estado,Variable aps.models.item.Item.estado=aps.models.item.Item-class.html#estado,Variable aps.models.itemversion.ItemVersion.estado=aps.models.itemversion.ItemVersion-class.html#estado,Variable aps.models.lineabase.Lineabase.estado=aps.models.lineabase.Lineabase-class.html#estado,Variable aps.models.proyecto.Proyecto.estado=aps.models.proyecto.Proyecto-class.html#estado,Variable aps.models.relacion.Relacion.estado=aps.models.relacion.Relacion-class.html#estado,Variable aps.models.solicitud.Solicitud.estado=aps.models.solicitud.Solicitud-class.html#estado"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-98', 'estado', 'link-98');">estado</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'REVISION'</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-comment">#cambiamos el estado de la linea base a abierta</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-name">lb</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">lb</tt> <tt class="py-op">=</tt> <tt id="link-99" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-99', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-100" class="py-name" targets="Class aps.models.lineabase.Lineabase=aps.models.lineabase.Lineabase-class.html"><a title="aps.models.lineabase.Lineabase" class="py-name" href="#" onclick="return doclink('link-100', 'Lineabase', 'link-100');">Lineabase</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-101', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt class="py-name">it</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Variable aps.models.item.Item.idlineabase=aps.models.item.Item-class.html#idlineabase,Variable aps.models.itemversion.ItemVersion.idlineabase=aps.models.itemversion.ItemVersion-class.html#idlineabase"><a title="aps.models.item.Item.idlineabase
aps.models.itemversion.ItemVersion.idlineabase" class="py-name" href="#" onclick="return doclink('link-102', 'idlineabase', 'link-102');">idlineabase</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lb</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-name">lb</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-103', 'estado', 'link-98');">estado</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"Abierta"</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">             </tt>
<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">             </tt>
<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">it</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="aps.models.item.Item.idlineabase
aps.models.itemversion.ItemVersion.idlineabase" class="py-name" href="#" onclick="return doclink('link-104', 'idlineabase', 'link-102');">idlineabase</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt id="link-105" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-105', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">merge</tt><tt class="py-op">(</tt><tt class="py-name">it</tt><tt class="py-op">)</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-comment"># recorremos los sucesores del item</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-106" class="py-name"><a title="aps.models.historial.Historial.item
aps.models.item
aps.models.solicituditem.SolicitudItem.item" class="py-name" href="#" onclick="return doclink('link-106', 'item', 'link-3');">item</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-107', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                    <tt class="py-comment"># si el nodo no fue visitado, se marca y se encola</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-108', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                    <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
</div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">     </tt>
<a name="Grafo.cluster_adelante_data"></a><div id="Grafo.cluster_adelante_data-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="Grafo.cluster_adelante_data-toggle" onclick="return toggle('Grafo.cluster_adelante_data');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#cluster_adelante_data">cluster_adelante_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">iditem</tt><tt class="py-op">,</tt><tt class="py-param">items</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.cluster_adelante_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.cluster_adelante_data-expanded"><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt id="link-109" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-109', 'iditem', 'link-46');">iditem</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">cola</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-110" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-110', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">]</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt id="link-111" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-111', 'iditem', 'link-46');">iditem</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">cola</tt> <tt class="py-op">=</tt> <tt class="py-name">items</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">         </tt>
<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-comment"># marcamos todos los nodos como no visitados</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="aps.models.grafo.Grafo.marcar" class="py-name" href="#" onclick="return doclink('link-112', 'marcar', 'link-44');">marcar</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">         </tt>
<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-comment"># datos utilizados para obtener los valores</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">nant</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">rclu</tt>  <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">rant</tt>  <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt id="link-113" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-113', 'nodos', 'link-14');">nodos</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt id="link-114" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-114', 'fase', 'link-6');">fase</a></tt>  <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-115', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">cola</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">mfase</tt> <tt class="py-op">=</tt> <tt id="link-116" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-116', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-117" class="py-name" targets="Class aps.models.fase.Fase=aps.models.fase.Fase-class.html"><a title="aps.models.fase.Fase" class="py-name" href="#" onclick="return doclink('link-117', 'Fase', 'link-117');">Fase</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-118" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-118', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-119" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-119', 'fase', 'link-6');">fase</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">         </tt>
<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-comment"># recorremos la cola</tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">cola</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt id="link-120" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-120', 'id', 'link-20');">id</a></tt>         <tt class="py-op">=</tt> <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-name">relaciones</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-121', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-122" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-122', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">origen</tt>     <tt class="py-op">=</tt> <tt id="link-123" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-123', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-124" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-124', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-125" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-125', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-126" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-126', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-comment"># controlamos que sea de la misma fase</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-127', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-128" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-128', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-129" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-129', 'fase', 'link-6');">fase</a></tt><tt class="py-op">:</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt id="link-130" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-130', 'nodos', 'link-14');">nodos</a></tt>  <tt class="py-op">+=</tt> <tt class="py-string">'{0} [label="{0}({1})",style=filled,fillcolor=skyblue3,penwidth=2]\n'</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-131', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-132', 'complejidad', 'link-56');">complejidad</a></tt><tt class="py-op">)</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-comment"># recorremos la lista de sucesores del item</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">sucesor</tt> <tt class="py-keyword">in</tt> <tt class="py-name">relaciones</tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                <tt class="py-comment"># controlamos que el nodo no este visitado</tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-133', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                    <tt class="py-name">destino</tt>  <tt class="py-op">=</tt> <tt id="link-134" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-134', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-135" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-135', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-136" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-136', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt class="py-name">sucesor</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                    <tt id="link-137" class="py-name" targets="Module aps.models.relacion=aps.models.relacion-module.html"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-137', 'relacion', 'link-137');">relacion</a></tt> <tt class="py-op">=</tt> <tt id="link-138" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-138', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-139" class="py-name" targets="Class aps.models.relacion.Relacion=aps.models.relacion.Relacion-class.html"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-139', 'Relacion', 'link-139');">Relacion</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-140" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-140', 'idorigen', 'link-29');">idorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-141', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt id="link-142" class="py-name" targets="Variable aps.models.relacion.Relacion.vorigen=aps.models.relacion.Relacion-class.html#vorigen"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-142', 'vorigen', 'link-142');">vorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Variable aps.models.item.Item.version=aps.models.item.Item-class.html#version,Variable aps.models.itematributovalor.ItemAtributoValor.version=aps.models.itematributovalor.ItemAtributoValor-class.html#version,Variable aps.models.itemversion.ItemVersion.version=aps.models.itemversion.ItemVersion-class.html#version,Variable aps.models.uploadedfile.UploadedFile.version=aps.models.uploadedfile.UploadedFile-class.html#version"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-143', 'version', 'link-143');">version</a></tt><tt class="py-op">,</tt><tt id="link-144" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-144', 'iddestino', 'link-31');">iddestino</a></tt><tt class="py-op">=</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-145', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt id="link-146" class="py-name" targets="Variable aps.models.relacion.Relacion.vdestino=aps.models.relacion.Relacion-class.html#vdestino"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-146', 'vdestino', 'link-146');">vdestino</a></tt><tt class="py-op">=</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-147', 'version', 'link-143');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                    <tt class="py-comment"># deteminamos el tipo de la relacion</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-148" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-148', 'relacion', 'link-137');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name" targets="Variable aps.models.relacion.Relacion.tipo=aps.models.relacion.Relacion-class.html#tipo"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-149', 'tipo', 'link-149');">tipo</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'AS'</tt><tt class="py-op">:</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                        <tt class="py-comment"># controlamos que pertenezca a la fase siguiente</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-150', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-151" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-151', 'fase', 'link-6');">fase</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                            <tt class="py-name">rant</tt> <tt class="py-op">+=</tt> <tt class="py-string">'{0} -- {1};\n'</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-152', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-153', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                            <tt class="py-name">nant</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-154', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                        <tt class="py-comment"># controlamos que sea en la misma fase</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-155', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-156" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-156', 'fase', 'link-6');">fase</a></tt><tt class="py-op">:</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                            <tt class="py-name">rclu</tt> <tt class="py-op">+=</tt> <tt class="py-string">'{0} -- {1};\n'</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-157', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-158', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                    <tt class="py-comment"># marcamos el nodo y agregamos a la cola</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-159', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                    <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sucesor</tt><tt class="py-op">)</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">         </tt>
<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-string">'fase'</tt><tt class="py-op">:</tt><tt class="py-name">mfase</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name" targets="Variable aps.models.atributo.Atributo.nombre=aps.models.atributo.Atributo-class.html#nombre,Variable aps.models.fase.Fase.nombre=aps.models.fase.Fase-class.html#nombre,Variable aps.models.item.Item.nombre=aps.models.item.Item-class.html#nombre,Variable aps.models.itemversion.ItemVersion.nombre=aps.models.itemversion.ItemVersion-class.html#nombre,Variable aps.models.lineabase.Lineabase.nombre=aps.models.lineabase.Lineabase-class.html#nombre,Variable aps.models.permiso.Permiso.nombre=aps.models.permiso.Permiso-class.html#nombre,Variable aps.models.proyecto.Proyecto.nombre=aps.models.proyecto.Proyecto-class.html#nombre,Variable aps.models.rol.Rol.nombre=aps.models.rol.Rol-class.html#nombre,Variable aps.models.tipoitem.Tipoitem.nombre=aps.models.tipoitem.Tipoitem-class.html#nombre"><a title="aps.models.atributo.Atributo.nombre
aps.models.fase.Fase.nombre
aps.models.item.Item.nombre
aps.models.itemversion.ItemVersion.nombre
aps.models.lineabase.Lineabase.nombre
aps.models.permiso.Permiso.nombre
aps.models.proyecto.Proyecto.nombre
aps.models.rol.Rol.nombre
aps.models.tipoitem.Tipoitem.nombre" class="py-name" href="#" onclick="return doclink('link-160', 'nombre', 'link-160');">nombre</a></tt><tt class="py-op">,</tt><tt class="py-string">'nodos'</tt><tt class="py-op">:</tt><tt id="link-161" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-161', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">,</tt><tt class="py-string">'cluster'</tt><tt class="py-op">:</tt><tt class="py-name">rclu</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-string">'c2c'</tt><tt class="py-op">:</tt><tt class="py-name">rant</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-string">'items'</tt><tt class="py-op">:</tt><tt class="py-name">nant</tt><tt class="py-op">}</tt> </tt>
</div><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">     </tt>
<a name="Grafo.cluster_atras_data"></a><div id="Grafo.cluster_atras_data-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="Grafo.cluster_atras_data-toggle" onclick="return toggle('Grafo.cluster_atras_data');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.grafo.Grafo-class.html#cluster_atras_data">cluster_atras_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">iditem</tt><tt class="py-op">,</tt><tt class="py-param">items</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Grafo.cluster_atras_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Grafo.cluster_atras_data-expanded"><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt id="link-162" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-162', 'iditem', 'link-46');">iditem</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">cola</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-163" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-163', 'iditem', 'link-46');">iditem</a></tt><tt class="py-op">]</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt id="link-164" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-164', 'iditem', 'link-46');">iditem</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-name">cola</tt> <tt class="py-op">=</tt> <tt class="py-name">items</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">         </tt>
<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-comment"># marcamos todos los nodos como no visitados</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="aps.models.grafo.Grafo.marcar" class="py-name" href="#" onclick="return doclink('link-165', 'marcar', 'link-44');">marcar</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">         </tt>
<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-comment"># datos utilizados para obtener los valores</tt> </tt>
<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">nant</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">rclu</tt>  <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">rant</tt>  <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt id="link-166" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-166', 'nodos', 'link-14');">nodos</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt id="link-167" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-167', 'fase', 'link-6');">fase</a></tt>  <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-168', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">cola</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">mfase</tt> <tt class="py-op">=</tt> <tt id="link-169" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-169', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-170" class="py-name"><a title="aps.models.fase.Fase" class="py-name" href="#" onclick="return doclink('link-170', 'Fase', 'link-117');">Fase</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-171" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-171', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-172" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-172', 'fase', 'link-6');">fase</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">         </tt>
<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-comment"># recorremos la cola</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">cola</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt id="link-173" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-173', 'id', 'link-20');">id</a></tt>         <tt class="py-op">=</tt> <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">relaciones</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-174', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-175" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-175', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">destino</tt>    <tt class="py-op">=</tt> <tt id="link-176" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-176', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-177" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-177', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-178" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-178', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt id="link-179" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-179', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-comment"># controlamos que sea de la misma fase</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-180', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt id="link-181" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-181', 'id', 'link-20');">id</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-182" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-182', 'fase', 'link-6');">fase</a></tt><tt class="py-op">:</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                <tt id="link-183" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-183', 'nodos', 'link-14');">nodos</a></tt>  <tt class="py-op">+=</tt> <tt class="py-string">'{0} [label="{0}({1})",style=filled,fillcolor=skyblue3,penwidth=2]\n'</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-184', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-185', 'complejidad', 'link-56');">complejidad</a></tt><tt class="py-op">)</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-comment"># recorremos la lista de predecesores del item</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">sucesor</tt> <tt class="py-keyword">in</tt> <tt class="py-name">relaciones</tt><tt class="py-op">[</tt><tt class="py-string">'p'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                <tt class="py-comment"># controlamos que el nodo no este visitado</tt> </tt>
<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-186', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                    <tt class="py-name">origen</tt>   <tt class="py-op">=</tt> <tt id="link-187" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-187', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-188" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-188', 'Item', 'link-25');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-189" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-189', 'id', 'link-20');">id</a></tt><tt class="py-op">=</tt><tt class="py-name">sucesor</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                    <tt id="link-190" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-190', 'relacion', 'link-137');">relacion</a></tt> <tt class="py-op">=</tt> <tt id="link-191" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-191', 'bdsession', 'link-18');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-192" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-192', 'Relacion', 'link-139');">Relacion</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-193" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-193', 'idorigen', 'link-29');">idorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-194', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt id="link-195" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-195', 'vorigen', 'link-142');">vorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-196', 'version', 'link-143');">version</a></tt><tt class="py-op">,</tt><tt id="link-197" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-197', 'iddestino', 'link-31');">iddestino</a></tt><tt class="py-op">=</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-198', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt id="link-199" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-199', 'vdestino', 'link-146');">vdestino</a></tt><tt class="py-op">=</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-200', 'version', 'link-143');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                    <tt class="py-comment"># deteminamos el tipo de la relacion</tt> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-201" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-201', 'relacion', 'link-137');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-202', 'tipo', 'link-149');">tipo</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'AS'</tt><tt class="py-op">:</tt> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                        <tt class="py-comment"># controlamos que pertenezca a la fase anterior</tt> </tt>
<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-203', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-204" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-204', 'fase', 'link-6');">fase</a></tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                            <tt class="py-name">rant</tt> <tt class="py-op">+=</tt> <tt class="py-string">'{0} -- {1};\n'</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-205', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-206', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                            <tt class="py-name">nant</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-207', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt> </tt>
<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                        <tt class="py-comment"># controlamos que sea en la misma fase</tt> </tt>
<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-208', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'f'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-209" class="py-name"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-209', 'fase', 'link-6');">fase</a></tt><tt class="py-op">:</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                            <tt class="py-name">rclu</tt> <tt class="py-op">+=</tt> <tt class="py-string">'{0} -- {1};\n'</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt><tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-210', 'id', 'link-20');">id</a></tt><tt class="py-op">,</tt><tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-211', 'id', 'link-20');">id</a></tt><tt class="py-op">)</tt> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                    <tt class="py-comment"># marcamos el nodo y agregamos a la cola</tt> </tt>
<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-212', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">[</tt><tt class="py-name">sucesor</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'v'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                    <tt class="py-name">cola</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sucesor</tt><tt class="py-op">)</tt> </tt>
<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">         </tt>
<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-string">'fase'</tt><tt class="py-op">:</tt><tt class="py-name">mfase</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="aps.models.atributo.Atributo.nombre
aps.models.fase.Fase.nombre
aps.models.item.Item.nombre
aps.models.itemversion.ItemVersion.nombre
aps.models.lineabase.Lineabase.nombre
aps.models.permiso.Permiso.nombre
aps.models.proyecto.Proyecto.nombre
aps.models.rol.Rol.nombre
aps.models.tipoitem.Tipoitem.nombre" class="py-name" href="#" onclick="return doclink('link-213', 'nombre', 'link-160');">nombre</a></tt><tt class="py-op">,</tt><tt class="py-string">'nodos'</tt><tt class="py-op">:</tt><tt id="link-214" class="py-name"><a title="aps.models.grafo.Grafo.nodos" class="py-name" href="#" onclick="return doclink('link-214', 'nodos', 'link-14');">nodos</a></tt><tt class="py-op">,</tt> <tt class="py-string">'cluster'</tt><tt class="py-op">:</tt><tt class="py-name">rclu</tt><tt class="py-op">,</tt> <tt class="py-string">'c2c'</tt><tt class="py-op">:</tt><tt class="py-name">rant</tt><tt class="py-op">,</tt> <tt class="py-string">'items'</tt><tt class="py-op">:</tt><tt class="py-name">nant</tt><tt class="py-op">}</tt> </tt>
</div></div><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="aps-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sat Jun  8 08:44:03 2013
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
